In recent years, studies about implementation of high-speed processing by collectively exploiting the CPU powers of computers using the grid computing technology have been extensively made in science-related studies, and applications to built-in devices have been proposed.
FIG. 1 is a diagram for explaining the architecture of grid computing. There are several types of grids. A grid to be described below is of a type called a desktop grid, which executes a job by utilizing an idle time of a CPU of a desktop PC or the like.
A client PC shown in FIG. 1 inputs a job in accordance with a user's instruction (S1). That request (job) is passed to a task manager (to be abbreviated as “TM” hereinafter), which informs a dynamic job scheduler (to be abbreviated as “DJS” hereinafter) of the contents (job request) (S2). The DJS which manages the resources of the overall grid computing system selects brokers of optimal resources and informs the TM of the selected brokers (S3). Note that the resource means an idle state of a CPU of a PC.
The broker in each PC registers, in the DJS, resource information which is retrieved by a resource manager (to be abbreviated as “RM” hereinafter) in the PC. Upon reception of a request from the TM (S4), the broker inputs a job to the RM (S5), and notifies the TM of completion of the job (and the processing result) (S6). The TM inputs jobs to the brokers selected by the DJS, and monitors the status of these jobs. Upon reception of a completion message (and processing result) from each broker (S6), the TM sends a completion message (and processing result) to the client PC (S7).
The RM notifies the broker of the resource information, and inputs a job to the resource in accordance with a broker's instruction. The RM periodically checks the status of the resource. If the RM finds a change or abnormality of the resource (e.g., a trouble, reception of another job, or the like), it advises the broker accordingly.
With this scheme, the implementation form of desktop grid computing is to allow distributed processing by distributing jobs to the resources of optimal CPUs (which are not used normally).
When such grid computing technology is applied to image formation in an office, the CPU resources are information processing apparatuses such as a PC, server, image forming apparatus, multi-functional peripheral equipment, and the like on a local area network (LAN).
FIG. 2 is a diagram for explaining the arrangement when the desktop grid computing technology is applied to printer description language (PDL) processing. In the description of FIG. 1, modules which form the grid are handled as independent ones. However, when the desktop grid computing technology is applied to a printer, a plurality of modules exist in a single device in general.
A client PC 901 in FIG. 2 issues a print instruction (inputs a print job) to a printer 902. The printer 902 has functions of the TM and DJS (i.e., it serves as a host machine of the distributed processing), and PCs 903 to 905 have functions of the broker and RM. This arrangement allows distributed processing based on grid computing using, e.g., three PCs connected to a network 907.
A job (print job of PDL format data) input from the client PC 901 is distributed to respective resources (e.g., the first page of that job to the PC 903, the second page to the PC 904, and the third page to the PC 905) by the TM and DJS of the printer 902 as the host machine, and these PCs execute rendering processes from the PDL data to image data. In this case, the printer 902 simultaneously transmits an application program for the image rendering processing of PDL data to the respective resources. The printer 902 as the host machine collects images rendered based on the PDL data by the PCs (i.e., the processing results of images of the first to third pages), prints out images 906 for three pages, and notifies the client PC 901 of completion of the print job.
Of course, the target resources of this distributed processing may be four or more PCs, the resource on the client PC 901 as a job input source may be used, and other printer resources on the network 907 may be used.
Meanwhile, information may suffer sniffing from devices that execute distributed processing of jobs, or during communication processes of divided jobs and those of the processing results, i.e., on the network. On the other hand, a print job to be received by an image forming apparatus or multi-functional peripheral equipment often includes secret information. Hence, executing the distributed processing of a print job including secret information by a plurality of devices is to reduce the robustness in terms of security protection.